package com.obelisco.vista.seguridad;

import java.util.ResourceBundle;

import nextapp.echo2.app.Alignment;
import nextapp.echo2.app.Column;
import nextapp.echo2.app.Component;
import nextapp.echo2.app.ContentPane;
import nextapp.echo2.app.FillImage;
import nextapp.echo2.app.Grid;
import nextapp.echo2.app.Insets;
import nextapp.echo2.app.Label;
import nextapp.echo2.app.PasswordField;
import nextapp.echo2.app.ResourceImageReference;
import nextapp.echo2.app.SplitPane;
import nextapp.echo2.app.Extent;
import nextapp.echo2.app.TextField;
import nextapp.echo2.app.layout.SplitPaneLayoutData;
import nextapp.echo2.app.*;


import com.obelisco.modelo.data.Usuario;
import com.obelisco.vista.componentes.Ventana;
import com.obelisco.vista.componentes.VentanaListener;
import com.obelisco.vista.seguridad.PaneAmbienteUsuario;
import com.obelisco.vista.seguridad.VentanaEntrada;
import com.obelisco.vista.seguridad.ValidacionUsuarioListener;

import echopointng.ImageIcon;


public class PaneInicio extends Ventana {

	private ImageIcon icono;
	
	private ResourceBundle resourceBundle;

	private ContentPane paneEncabezado;
	
	private ContentPane paneLogo;

	private ContentPane paneContenido;

	private ContentPane paneBarraSuperior;

	private PaneAmbienteUsuario paneUsuario;

	private VentanaEntrada ventanaEntrada;
	

	/**
	 * Creates a new <code>PaneInicio</code>.
	 */
	public PaneInicio() {
		super("");

		// Add design-time configured components.
		initComponents();
	}

	/**
	 * Configures initial state of component. WARNING: AUTO-GENERATED METHOD.
	 * Contents will be overwritten.
	 */
	private void initComponents() {
		
		
		SplitPane splitPane1 = new SplitPane();
		splitPane1.setOrientation(SplitPane.ORIENTATION_VERTICAL_TOP_BOTTOM);
		splitPane1.setSeparatorPosition(new Extent(0, Extent.PX));
		add(splitPane1);
		
		ContentPane contentPane2 = new ContentPane();
		splitPane1.add(contentPane2);
		SplitPane splitPane2 = new SplitPane();
		splitPane2.setOrientation(SplitPane.ORIENTATION_HORIZONTAL_LEFT_RIGHT);
		splitPane2.setSeparatorPosition(new Extent(0, Extent.PX));
		
		contentPane2.add(splitPane2);
		paneBarraSuperior = new ContentPane();
		splitPane2.add(paneBarraSuperior);
	
		paneEncabezado = new ContentPane();
		splitPane2.add(paneEncabezado);
		
		
		paneContenido = new ContentPane();
		
		ResourceImageReference imageReference1 = new ResourceImageReference(
		"/com/obelisco/vista/resource/image/fill/logo1.png");
		FillImage imagenBanPrincipal = new FillImage(imageReference1, new Extent(0, Extent.PERCENT), new Extent(0, Extent.PERCENT), FillImage.NO_REPEAT);
		paneBarraSuperior.setBackgroundImage(imagenBanPrincipal);
		
		ResourceImageReference imageReference2 = new ResourceImageReference(
		"/com/obelisco/vista/resource/image/fill/barLogo1.png");
		FillImage imagenBanPrincipal2 = new FillImage(imageReference2, new Extent(0, Extent.PERCENT), new Extent(0, Extent.PERCENT), FillImage.REPEAT);
		paneEncabezado.setBackgroundImage(imagenBanPrincipal2);
		
		
		
		ResourceImageReference imageReference3 = new ResourceImageReference(
		"/com/obelisco/vista/resource/image/fill/fondo.png");
		FillImage imagenBanPrincipal3 = new FillImage(imageReference3, new Extent(50, Extent.PERCENT), new Extent(0, Extent.PERCENT), FillImage.NO_REPEAT);
		paneContenido.setBackgroundImage(imagenBanPrincipal3);
		
		splitPane1.add(paneContenido);
		
		
	/*	
		SplitPane splitPane1 = new SplitPane();
		splitPane1.setOrientation(SplitPane.ORIENTATION_VERTICAL_TOP_BOTTOM);
		splitPane1.setSeparatorPosition(new Extent(79, Extent.PX));
	
		add(splitPane1);
		
				
		
		
		//ContentPane contentPane2 = new ContentPane();
		//splitPane1.add(contentPane2);
		
		
		ResourceImageReference imageReference1 = new ResourceImageReference(
		"/com/obelisco/vista/resource/image/fill/banPrincipal.png");
		FillImage imagenBanPrincipal = new FillImage(imageReference1, new Extent(50, Extent.PERCENT), new Extent(0, Extent.PERCENT), FillImage.NO_REPEAT);
	
		//SplitPane splitPane2 = new SplitPane();
		//splitPane2.setOrientation(SplitPane.ORIENTATION_VERTICAL);
		//splitPane2.setSeparatorPosition(new Extent(0, Extent.PX));
		
		//contentPane2.add(splitPane2);
		//paneBarraSuperior = new ContentPane();
		//paneBarraSuperior.setBackground(new	Color(0xafcbd8));
		//splitPane2.add(paneBarraSuperior);
		
	
		paneEncabezado = new ContentPane();
		paneEncabezado.setBackground(new Color(0xFFFFFF));	
		paneEncabezado.setBackgroundImage(imagenBanPrincipal);
		
	//	splitPane2.add(paneEncabezado);
		
		
	
				
		paneContenido = new ContentPane();
		splitPane1.add(paneEncabezado);
		splitPane1.add(paneContenido);
		
	   */
	}
	
	ValidacionUsuarioListener manejadorValidacion = new ValidacionUsuarioListener() {

		public void onUsuarioValidado(Usuario usuario) {
			// TODO Auto-generated method stub
			
			paneUsuario.setUsuario(usuario);
			paneUsuario.mostrar(getAreaTrabajo());	
			ventanaEntrada.salir();
			
		}
		
	};
	
	VentanaListener manejadorEventoPaneUsuario = new VentanaListener() {

		public void onMostrar(Ventana ventana) {
		}

		public void onSalir(Ventana ventana, boolean cerrar) {
			// TODO Auto-generated method stub
			ventanaEntrada.mostrarDialogo(getAreaTrabajo(), 300, 150);
		}
	
	};

	@Override
	public void mostrar(Component padre) {
		super.mostrar(padre);
		ventanaEntrada.addValidacionUsuarioListener(manejadorValidacion);
		paneUsuario.addVentanaListener(manejadorEventoPaneUsuario);
		
		ventanaEntrada.mostrarDialogo(getAreaTrabajo(), 300, 150);
	}

	
	public Component getAreaTrabajo() {
		return paneContenido;
	}


	public PaneAmbienteUsuario getPaneUsuario() {
		return paneUsuario;
	}


	public void setPaneUsuario(PaneAmbienteUsuario paneUsuario) {
		this.paneUsuario = paneUsuario;
	}

	public VentanaEntrada getVentanaEntrada() {
		return ventanaEntrada;
	}

	public void setVentanaEntrada(VentanaEntrada ventanaEntrada) {
		this.ventanaEntrada = ventanaEntrada;
	}


}
